Expressiveness and Complexity of Crosscut Languages
نویسندگان
چکیده
Selector languages, or crosscut languages, play an important role in aspect-oriented programming (AOP). Examples of prominent selector languages include the pointcut language in AspectJ, traversal specifications in Demeter, XPath for databases, and regular expressions. A selector language expression, also referred to as a selector, selects nodes on an instance graph (an execution tree or an object tree) that satisfies a meta graph (a call graph or a class graph). The implementation of selector languages requires practically efficient algorithms for answering questions such as: does a selector always (never) select certain nodes Select-Always (Select-Never), does a selector ever select a node Select-Sat, does one selector imply another selector Select-Impl or does an edge in an instance graph lead to a node selected by the selector Select-Completion. We study these problems from the viewpoints of two important selector languages called SAJ, inspired by AspectJ, and SD, inspired by Demeter, and several of their sublanguages. We show a polynomial-time two-way reduction between SD and SAJ revealing interesting connections and promoting transfer of algorithmic techniques from AspectJ to Demeter and vice-versa. We characterize the complexity of these problems by either providing upper bounds, in the form of useful polynomial-time algorithms, or hardness results, showing them to be NP-complete or co-NP-complete. We present a fixed parameter tractable (FPT) algorithm for one of the NP-complete problems. This early result indicates a pragmatic line of attack for dealing with the intractability inherent in these problems. The algorithmic results contained herein should be of interest to developers of scalable AOP tools. We discuss the consequences of this paper for our DAJ implementation.
منابع مشابه
On the Relative Expressiveness of Argumentation Frameworks, Normal Logic Programs and Abstract Dialectical Frameworks
We analyse the expressiveness of the two-valued semantics of abstract argumentation frameworks, normal logic programsargumentation frameworks, normal logic programs and abstract dialectical frameworks. By expressiveness we mean the ability to encode a desired set of two-valued interpretations over a given propositional signature using only atoms from that signature. While the computational comp...
متن کاملThe Relative Expressiveness of Abstract Argumentation and Logic Programming
We analyze the relative expressiveness of the two-valued semantics of abstract argumentation frameworks, normal logic programs and abstract dialectical frameworks. By expressiveness we mean the ability to encode a desired set of two-valued interpretations over a given propositional vocabulary A using only atoms from A. While the computational complexity of the two-valued model existence problem...
متن کاملThe Impact of Mediational Artifact Types on EFL Learners’ Writing Complexity: Collaboration vs. Asynchronous Artifacts
The present study was an attempt to investigate the significance of environmental changes on the develo p- ment of writing in English as a Foreign Language (EFL) context with respect to the individual. This study also compared the impacts of collaboration and asynchronous computer mediation (ACM) on the writing complexity of EFL learners. To this end, three intact writing classes were designate...
متن کاملExistential Rule Languages with Finite Chase: Complexity and Expressiveness
Finite chase, or alternatively chase termination, is an important condition to ensure the decidability of existential rule languages. In the past few years, a number of rule languages with finite chase have been studied. In this work, we propose a novel approach for classifying the rule languages with finite chase. Using this approach, a family of decidable rule languages, which extend the exis...
متن کاملOn the Expressiveness of Essence
Development of languages for specifying or modelling problems is an important direction in constraint modelling. To provide greater abstraction and modelling convenience, these languages are becoming more syntactically rich, leading to a variety of questions about their expressive power. In this paper, we consider the expressiveness of Essence, a specification language with a rich variety of sy...
متن کامل